<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Vue3 自定义指令</title>
</head>
<body>
  <div id="app">
    <!-- 使用自定义颜色指令 v-color -->
    <div v-color="'red'">这是一个标题</div>
    <!-- 使用自定义rapper指令 v-rappper -->
    <div v-rappper="'尤雨溪 rapper'"></div>
  </div>

  <script src="./js/vue@3.5.13.js"></script>
  <script src="./js/axios.js"></script>
  <script>
    const { createApp, onMounted, ref } = Vue
    // 创建Vue应用实例
    const app = createApp({
      setup() {
        return {}
      }
    })

    // 全局注册自定义color指令
    app.directive('color', {
      // 指令挂载到DOM时执行
      mounted(el, binding) {
        // 设置元素文字颜色为指令传值
        el.style.color = binding.value
        // 设置文字加粗
        el.style.fontWeight = 'bolder'
      }
    })

    // 全局注册自定义rappper指令
    app.directive('rappper', {
      // 指令挂载到DOM时执行
      mounted(el, binding) {
        // 设置元素的文本内容为指令传值
        el.innerText = binding.value
      }
    })

    // 挂载应用到#app容器
    app.mount("#app")
  </script>
</body>
</html>